home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-2.iso / Files II / Prog / M / MacWT 0.04.sit / Mac WT source / wt / table.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-06  |  1.3 KB  |  38 lines

  1. /*
  2. **  wt -- a 3d game engine
  3. **
  4. **  Copyright (C) 1994 by Chris Laurel
  5. **  email:  claurel@mr.net
  6. **  snail mail:  Chris Laurel, 5700 W Lake St #208,  St. Louis Park, MN  55416
  7. **
  8. **  This program is free software; you can redistribute it and/or modify
  9. **  it under the terms of the GNU General Public License as published by
  10. **  the Free Software Foundation; either version 2 of the License, or
  11. **  (at your option) any later version.
  12. **
  13. **  This program is distributed in the hope that it will be useful,
  14. **  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. **  GNU General Public License for more details.
  17. **
  18. **  You should have received a copy of the GNU General Public License
  19. **  along with this program; if not, write to the Free Software
  20. **  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21. */
  22.  
  23. typedef struct {
  24.      size_t entry_size;
  25.      int current_entries;
  26.      int max_entries;
  27.      void *table;
  28. } Table;
  29.  
  30.  
  31. #define TABLE_ELEMENTS(t, type)   ((type *) (t)->table)
  32. #define TABLE_SIZE(t)             ((t)->current_entries)
  33.  
  34. extern Table *new_table(size_t entry_size);
  35. extern void init_table(Table *t, size_t entry_size);
  36. extern void add_table_entry(Table *t, void *entry);
  37. extern int table_size(Table *t);
  38.